﻿// Copyright 2009 Mike Geise
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

namespace Falcon.Core.Domain
{
	using Falcon.Core.Extensions;

	public class SettingsAsValuesUsers
	{
		public int PageLimit
		{
			get
			{
				return Settings.GetByKey("users.page.limit").AsInt();
			}
		}

		public int PasswordSaltLength
		{
			get
			{
				return Settings.GetByKey("users.password.salt.length").AsInt();
			}
		}

		public int AlbumPageLimit
		{
			get
			{
				return Settings.GetByKey("users.album.page.limit").AsInt();
			}
		}

		public string AlbumAttachmentKey
		{
			get
			{
				return Settings.GetByKey("users.album.attachment.key");
			}
		}

		public string AlbumAttachmentFieldKey
		{
			get
			{
				return Settings.GetByKey("users.album.attachment.field.key");
			}
		}

		public int AlbumPhotoThumbWidth
		{
			get
			{
				return Settings.GetByKey("users.album.photo.thumb.width").AsInt();
			}
		}

		public int AlbumPhotoThumbHeight
		{
			get
			{
				return Settings.GetByKey("users.album.photo.thumb.height").AsInt();
			}
		}

		public int AlbumPhotoPageLimit
		{
			get
			{
				return Settings.GetByKey("users.album.photo.page.limit").AsInt();
			}
		}

		public string AvatarPath
		{
			get
			{
				return Settings.GetByKey("users.avatar.path");
			}
		}

		public string AvatarDefault
		{
			get
			{
				return Settings.GetByKey("users.avatar.default");
			}
		}

		public int AvatarMaxWidth
		{
			get
			{
				return Settings.GetByKey("users.avatar.max.width").AsInt();
			}
		}

		public int AvatarMaxHeight
		{
			get
			{
				return Settings.GetByKey("users.avatar.max.height").AsInt();
			}
		}

		public int AvatarPageLimit
		{
			get
			{
				return Settings.GetByKey("users.avatar.page.limit").AsInt();
			}
		}

		public int ContactPageLimit
		{
			get
			{
				return Settings.GetByKey("users.contact.page.limit").AsInt();
			}
		}

		public int BadgePageLimit
		{
			get
			{
				return Settings.GetByKey("users.badge.page.limit").AsInt();
			}
		}

		public string BadgeIconPath
		{
			get
			{
				return Settings.GetByKey("users.badge.icon.path");
			}
		}

		public int GroupPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.page.limit").AsInt();
			}
		}

		public int GroupMemberPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.member.page.limit").AsInt();
			}
		}

		public int GroupMemberMainPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.member.main.page.limit").AsInt();
			}
		}

		public int GroupCommentPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.comment.page.limit").AsInt();
			}
		}

		public int GroupPhotoPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.photo.page.limit").AsInt();
			}
		}

		public int GroupPhotoMainPageLimit
		{
			get
			{
				return Settings.GetByKey("users.group.photo.main.page.limit").AsInt();
			}
		}

		public int MessagePageLimit
		{
			get
			{
				return Settings.GetByKey("users.message.page.limit").AsInt();
			}
		}

		public string MessageIconPath
		{
			get
			{
				return Settings.GetByKey("users.message.icon.path");
			}
		}

		public string MessageAttachmentKey
		{
			get
			{
				return Settings.GetByKey("users.message.attachment.key");
			}
		}

		public string MessageAttachmentFieldKey
		{
			get
			{
				return Settings.GetByKey("users.message.attachment.field.key");
			}
		}
	}
}